Hi
I dont think its the spawn event repeating twice , other parts of the script only run once , like the actual weapon limiter part only runs once cause it has iprints in it also , and it runs fine and only once ,
Ill post the entire script up and see if you can make sense of why it repeats itself in this instance
Below is the main script , everything works , apart from the weapon swapping part, which repeats itself
Code:
main:
local.result = registerev "spawn" global/custom/weapons.scr::weapon_limiter
local.result = registerev "connected" global/custom/weapons.scr::connected
end
connected local.player:
thread weapon_limiter local.player
end
//////--------------------------------------------////////////
weapon_limiter local.player:
teamswitchdelay .2
wait 0.4
//////////////////////////////
local.notallowed[1] = ""
local.notallowed[2] = ""
local.notallowed[3] = ""
local.notallowed[4] = ""
local.notallowed[5] = ""
local.notallowed[6] = ""
local.notallowed[7] = ""
local.notallowed[8] = ""
local.notallowed[9] = ""
local.notallowed[10] = ""
local.notallowed[11] = ""
//////////////////////////////////////////////////////////////
////////////////////// Get Cvars ////////////////////////////
if(getcvar(PE_mg) == "0")
{
local.notallowed[1] = "models/weapons/bar.tik"
local.notallowed[2] = "models/weapons/mp44.tik"
}
if(getcvar(PE_rocket) == "0")
{
local.notallowed[3] = "models/weapons/bazooka.tik"
local.notallowed[4] = "models/weapons/panzerschreck.tik"
}
if(getcvar(PE_shotgun) == "0")
{
local.notallowed[5] = "models/weapons/shotgun.tik"
}
if(getcvar(PE_rifle) == "0")
{
local.notallowed[6] = "models/weapons/m1_garand.tik"
local.notallowed[7] = "models/weapons/kar98.tik"
}
if(getcvar(PE_sniper) == "0")
{
local.notallowed[8] = "models/weapons/springfield.tik"
local.notallowed[9] = "models/weapons/KAR98sniper.tik"
}
if(getcvar(PE_smg) == "0")
{
local.notallowed[10] = "models/weapons/thompsonsmg.tik"
local.notallowed[11] = "models/weapons/mp40.tik"
}
if(getcvar(PE_pistol) == "0")
{
local.player take "models/weapons/colt45.tik"
local.player take "models/weapons/p38.tik"
}
if(getcvar(PE_grenade) == "0")
{
local.player take "models/weapons/m2frag_grenade.tik"
local.player take "models/weapons/steilhandgranate.tik"
}
/////////////////////////////////////////////////////////////
/////////////////////// Message Part /////////////////////////
local.allowed = "Allowed Weapons:"
if (getcvar(pe_allweapons) == "1")
local.allowed += " All Weapons "
else
{
if (getcvar(pe_pistol) == "1")
local.allowed += " Pistol,"
if (getcvar(pe_rifle) == "1")
local.allowed += " Rifle,"
if (getcvar(pe_sniper) == "1")
local.allowed += " Sniper,"
if (getcvar(pe_smg) == "1")
local.allowed += " SMG,"
if (getcvar(pe_mg) == "1")
local.allowed += " MG,"
if (getcvar(pe_grenade) == "1")
local.allowed += " Grenades,"
if (getcvar(pe_shotgun) == "1")
local.allowed += " Shotgun,"
if (getcvar(pe_rocket) == "1")
local.allowed += " Rocket,"
}
////////////////////////////////////////////////////////////
////////////// Weapon Check Part ///////////////////////////
if(local.player != NULL && local.player != NIL && isAlive(local.player) && local.player.dmteam != spectator)
{
local.player weaponcommand dual targetname ("weap" + local.player.entnum )
local.player.weapon = $("weap" + local.player.entnum ).model
if(local.player.weapon != NIL && local.player.weapon != NULL)
{
for (local.i = 1; local.i <= local.notallowed.size; local.i++)
{
if(local.player.weapon == local.notallowed[local.i])
{
local.player take local.notallowed[local.i]
if(getcvar(pe_weapon_choice) != "1")
{
local.player give models/weapons/KAR98sniper.tik
local.player use models/weapons/KAR98sniper.tik
}
if(getcvar(pe_weapon_choice) == "1")
{
local.player spectator
local.player stufftext "pushmenu SelectPrimaryWeapon"
}
if(getcvar(pe_weapon_message) == "1")
{
local.player iprint ("The Weapon you chose is unavailable") 1
local.player iprint (local.allowed) 1
//local.player iprint ("So here is a Sniper") 1
}
}
if(local.I == game.aAllowedWeapons.size)
{
break
}
}
}
}
////////////////////////////////////////////////////////////
////////////// Weapon Swap Part ///////////////////////////
if (getcvar(pe_weapon_swap) == "1")
{
if(local.player && /* !local.player.swapping &&*/ isAlive(local.player) && local.player.dmteam != "spectator")
{
//local.player.swapping = 1
local.player weaponcommand dual targetname ("weap" + local.player.entnum )
local.player.weapon = $("weap" + local.player.entnum ).model
switch(local.player.weapon)
{
case "models/weapons/springfield.tik":
local.take = "models/weapons/springfield.tik"
local.takename = "Springfield"
local.give = "models/weapons/KAR98sniper.tik"
local.givename = "Kar98Sniper"
break
case "models/weapons/m1_garand.tik":
local.take = "models/weapons/m1_garand.tik"
local.takename = " M1 Garand"
local.give = "models/weapons/kar98.tik"
local.givename = "Mausar kar98"
break
default:
end
}
wait 1
if(local.player && isAlive(local.player) && local.player.dmteam != "spectator")
{
if(local.player.swap == "1")
{
local.player take local.take
local.player give local.give
local.player iprint (local.takename + " has been swapped for " + local.givename) 1
local.player ammo rifle -42
local.player use local.give
local.player iprint ("Hold 'Use' again to change back") 1
local.wait = 3.0
while(local.player.useheld) {
wait 0.25
local.wait -= 0.25
}
if (local.wait <= 0.0) {
local.player take local.give
local.player give local.take
local.player ammo rifle -42
local.player use local.take
local.player.swap = "0"
}
} else {
local.player iprint ("Hold 'Use' for 3 Seconds to change") 1
local.wait = 2.0
while(local.player.useheld) {
wait 0.25
local.wait -= 0.25
}
if (local.wait <= 0.0) {
local.player take local.take
local.player give local.give
local.player ammo rifle -42
local.player iprint (local.takename + " has been swapped for " + local.givename) 1
local.player use local.give
local.player.swap = "1"
}
}
}
}
//local.player.swapping = 0
}
//////--------------------------------------------////////////
end
//////--------------------------------------------////////////
Anyways its late atm for me so ill get back to it tomorrow night
Thanks for your help